iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 18
0

Ohara 的每一個服務,像是 Ohara Manager、Ohara Configurator、Zookeeper、Broker 和 Worker 都會使用 Docker image 的方式來啟動 Docker container 服務,因此需要將這些啟動服務的程式打包成 Docker Image,才能執行 Docker Container 服務。今天主要介紹要如何 Build Ohara 使用的 Docker Image,在介紹如何 Build Ohara 的 Docker Image 之前,先列出目前 Ohara 有哪些 Docker image,如下:

  • oharastream/zookeeper:${TAG_NAME}
  • oharastream/broker:${TAG_NAME}
  • oharastream/connect-worker:${TAG_NAME}
  • oharastream/streamapp:${TAG_NAME}
  • oharastream/configurator:${TAG_NAME}
  • oharastream/manager:${TAG_NAME}
  • oharastream/shabondi:${TAG_NAME}

${TAG_NAME} 主要代表 Ohara 的版號

Build Ohara 的 Docker image 指令的寫法格式如下:

$ docker build -t oharastream/${SERVICE_NAME} -f ${DOCKER_FILE_NAME} . 

在這裡以 Build zookeeper 的 Docker Image 來說明,指令如下:

$ cd ohara/docker 
$ docker build -t oharastream/zookeeper:${OHARA_VERSION}  -f zookeeper.dockerfile . 

以上的指令主要是 Build zookeeper 的 docker image, -f 參數所要放的就是要 build docker image 的檔案。

Build Worker 的 Docker image 指令如下:

$ docker build -t oharastream/connect-worker:0.0.1 -f worker.dockerfile --build-arg REPO=https://github.com/jackyoh/ohara.git . 

以上的指令是用來 Build Worker 的 Docker image, 跟 Build Zookeeper 不同的地方是後面有加上 --build-arg 的參數,這個參數主要是要給 Ohara 的 QA 使用,因為 worker 的 Docker image 會打包 connector 程式的jar 檔,不同的開發者在開發 connector 程式時會使用自已的 repo 開發完成,之後開 PR 時在 Build Connector 程式碼時就會指定到開發者的 repo 下 Build 出一個修改過 connector 程式碼的 Worker Docker image,這樣才能去測試 PR connector 的程式是否有問題。

今天已經介紹要如何 Build Ohara 的 Docker image 了,在 Build Ohara 的 Docker image 也會用在有關於整合測試的部份,因為在開發者開發完程式之後要確保所有的服務都沒問題,就會重新的 Build 一次 Docker image 然後啟動 container 服務,讓整合測試程式能連到 container 的服務,確認程式的執行結果是正確的。

有關於 Ohara 整合測試的部份,之後還會再做介紹。


上一篇
Day 17 介紹 Ohara 的模組
下一篇
Day 19 實作 Ohara 的 Source Connector 介面
系列文
用30天介紹 open source 專案 Ohara 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言